Add pause/resume for the runner animation - #43
Conversation
Adds a "Pause Animation" / "Resume Animation" item to the dropdown menu that freezes the running cat in place (preserving its position via the existing CALayer speed/timeOffset plumbing) without quitting the app. The paused state is persisted in UserDefaults and broadcast through AppState so RunnerBar (which owns the CALayer) and Dashboard (which owns the menu) stay in sync. Signed-off-by: HashaamKhan19 <hashaamkhan4247@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
People who want to disable the animations are not the target users of this app. I suggest they use other apps instead. Rather, the greatest value of this app lies in using it to break the ice during screen sharing, or occasionally being soothed by watching the animations. |
I think the greatest use of the app is actually having a quick space to view system information. I only use the apparently now classic one, but being able to quickly view storage usage has been very useful during LLM development, so I know when to clear old models. Of course I do love the running cat animation and would never disable it, it's one of my favorite parts of the app. |
Adds a "Pause Animation" / "Resume Animation" item to the dropdown menu that freezes the running cat in place (preserving its position via the existing CALayer speed/timeOffset plumbing) without quitting the app. The paused state is persisted in UserDefaults and broadcast through AppState so RunnerBar (which owns the CALayer) and Dashboard (which owns the menu) stay in sync.
Context of Contribution
Summary of the Proposal
Adds a "Pause Animation" / "Resume Animation" item to the menu-bar dropdown menu. Clicking
it freezes the running cat in place (using the existing CALayer speed/timeOffset mechanism)
without quitting the app, and clicking it again resumes at the current CPU-driven speed.
The paused state is persisted so it survives an app relaunch.
Reason for the new feature
Users on screen-shares, presentations, or who just want a moment of visual stillness
currently have no way to stop the cat without quitting the whole app, which also loses
menu-bar access to Settings, Activity Monitor, etc. A simple pause/resume toggle solves
this with minimal, low-risk surface area (one new preference, one new AppState stream,
one new menu item).
Checklist